package top.btcmarket.TestProject;

/**
 * CoinType 协议
 * @author: pengwei
 * @date: 2018年5月7日
 */
public enum CoinTypeProtocol {
	
	QTUM("QTUM",20,null), //量子链
	ETC("ETC",72,null),  // 以太经典
	BCH("BCH",6,null),  // 比特现金 , 手续费币种为bch 
	ETH("ETH",12,null), //以太坊
	CPS("CPS",12,"0xf239fab41de78533fa974b74d7605f1e68f8772e"), //
	LTC("LTC",6,null), //莱特币
	CPST("CPST",12,"0x978f6ee1D834704D0B9aFa4318d016Da4f9E6Ad6"),
	USDT("USDT",2,null), 
	NEO("NEO",10,null),
	NEM("NEM",10,null),  //XEM 新经币
	DASH("DASH",6,null),  // 达世币
	ZEC("ZEC",20,null),  // zcash
	DOGE("DOGE",20,null),  // 狗狗币
	XMR("XMR",20,null),  // 门罗币
	
	
	LRC("LRC",12,"0xef68e7c694f40c8202821edf525de3782458639f"),  // 路印
	BNB("BNB",12,"0xB8c77482e45F1F44dE1745F52C74426C631bDD52"),  // 币安
	VEN("VEN",12,"0xd850942ef8811f2a866692a623011bde52a462c1"),  // 唯链
	//OKB("OKB",36,null),  // 暂时不处理
	HT("HT",12,"0x6f259637dcd74c767781e37bc6133cd6a68aa161"),  // 火币
	OMG("OMG",12,"0xd26114cd6EE289AccF82350c8d8487fedB8A0C07"),  // 
	AE("AE",12,"0x5ca9a71b1d01849c0a95490cc00559717fcf0d1d"),  // 
	BTM("BTM",12,"0xcb97e65f07da24d46bcdd078ebebd7c6e6e3d750"),  // 
	MKR("MKR",12,"0x9f8f72aa9304c8b593d555f12ef6589cc3a579a2"),  // 
	BAT("BAT",12,"0x0d8775f648430679a709e98d2b0cb6250d2887ef"),  // 
	IOST("IOST",12,"0xfa1a856cfa3409cfa145fa4e20eb270df3eb21ab"),  // 
	BIX("BIX",12,"0xb3104b4b9da82025e8b9f8fb28b3553ce2f67069"),  // 
	CVT("CVT",12,"0xbe428c3867f05dea2a89fc76a102b544eac7f772"),  // 
	
	//CPS("CPS",36,"0xf239fab41de78533fa974b74d7605f1e68f8772e"),  // 
	INC("INC",12,"0x819f6d7f6e3584d9d8370af18adc9a2e3b027f75"),  // 糖果币   Inchat Candy
	
	//CVT("CVT",36,"0xbe428c3867f05dea2a89fc76a102b544eac7f772"),  // CVT
	MYT("MYT",12,"0xc711348eb06f6918f8eae66ce3fcf4747345d78e"),  // MYT  0xc711348eb06f6918f8eae66ce3fcf4747345d78e 这个代币不允许amount为0
	ZSC("ZSC",12,"0x7A41e0517a5ecA4FdbC7FbebA4D4c47B9fF6DC63"),  // ZSC
	SGT("SGT",12,"0x7Bb798CDE95583194736919c3F96922a7452bc02"),  // SGT  这个代币不允许amount为0
	MSC("MSC",12,"0x4cea6ca41e39336c8da5204875913818f1f3d500"),  // MSC -  这个代币不允许amount为0
	
	DAC("DAC",12,"0x3a87f30ce7231d5543e96882d812c5e3b6ee2ecc"),  // DAC - 小数位2为  这个代币不允许amount为0
	
	
	FNKOS("FNKOS",12,"0x0707681f344deb24184037fc0228856f2137b02e"),  // 
	CEG("CEG",12,"0x616a33bed76baa2b5124db70ae6c7a57498a9247"),  // 
	
	// 2018-08-01
	CCCX("CCCX",12,"0x378903a03fb2c3ac76bb52773e3ce11340377a32"),  // 
	BOC("BOC",12,"0x4b317864a05c91225ab8f401ec7be0aeb87e9c12"),  // 
	BIZ("BIZ",12,"0x399f9A95305114efAcB91d1d6C02CBe234dD36aF"),  // 
	FOTA("FOTA",12,"0x4270bb238f6dd8b1c3ca01f96ca65b2647c06d3c"),  // 
	SEXC("SEXC",12,"0x2567c677473d110D75a8360C35309e63B1d52429"),  // 
	BVB("BVB",12,"0xf083f40599741bc576173b492268972ce661e5ec"),  // 
	STB("STB",12,"0x3154da898943fc7151bc77f16e43c0c47b5e452d"),  // 
	BTMC("BTMC",12,"0x4a8f44be523580a11cdb20e2c7c470adf44ec9bb"),  // 
	QLM("QLM",12,"0x918bc63818b8aad1ad3917d96a3e872587fd7f19"),  // 
	GERC("GERC",12,"0x4f7d5a7588771e7889b599dbcb67c63a28129732"),  // 
	OPC("OPC",12,"0x134a2b5b1a1e3f3c3c7cfed71000035a53d4d127"),  // 
	UST("UST",12,"0x2bdbf15d055899a767f5459a151bed15fb8fd2f6"),  //
	
	//20180803 01
	
	BTO("BTO",12,"0x36905fc93280f52362a1cbab151f25dc46742fb5"),  // 
	SSP("SSP",12,"0x624d520bab2e4ad83935fa503fb130614374e850"),  // 
	VLC("VLC",12,"0x8f7b0b40e27e357540f90f187d90ce06366ac5a5"),  // 
	ESM("ESM",12,"0x012ce51d486be4d08ffe952d0e1a7aa3a247f475"),  // 
	PIIP("PIIP",12,"0x81b6cfeadd4fa5a5c06635911beb0391c12bee49"),  //
	
	// 20180803 02
	AIDOC("AIDOC",12,"0x584b44853680ee34a0f337b712a8f66d816df151"),  //
	POK("POK",12,"0xbc8deee89f1cf4b661514185aa1ab780336c4c4a"),  //
	GSC("GSC",12,"0x228ba514309ffdf03a81a205a6d040e429d6e80c"),  //
	TST("TST",12,"0x9eeab220e44410c16ac80c12830bc11af7dd5c6e"),  //
	XMX("XMX",12,"0x0f8c45b896784a1e408526b9300519ef8660209c"),  //
	CBR("CBR",12,"0x0445ae32d33066a29e4573bf15d4a2a9690ab754"),  //
	WSEC("WSEC",12,"0xe242fcdcd3a3b4ac7365b15643bce18b601c26e1"),  //
	
	
	//20180806 5
	AT("AT",12,"0xaa26931EBbA45B69834Eb35fe3315caB4b1e97fe"),  //
	HEC("HEC",12,"0xB96eB33E4a1a9ea3B8581aBC8185F9597E45E8AA"),  //
	CFun("CFun",12,"0xd6ed0e5d7f854b64b5e467a240a6c155c17cc6a2"),  //
	ACET("ACET",12,"0x803A6FC118288bFd490f414e8eFc857b7c148Ea7"),  //
	IEC("IEC",12,"0xfecc2d3f310bd35f937840b23500ec5fe5e9f39c"),  //
	ONLY("ONLY",12,"0x9eeC65E5b998dB6845321BaA915eC3338B1a469B"),  //
	
	//20180808 8
	USC("USC",12,"0x2C5dcd12141c56FBEa08e95f54f12c8B22d492Eb"),  //
	ACG("ACG",12,"0x984c134a8809571993fd1573fb99f06dc61e216f"),  //
	RNTB("RNTB",12,"0x1fe70be734e473e5721ea57c8b5b01e6caa52686"),  //
	BCG("BCG",12,"0x98a076287ece1fe8def282920072631a0f96ceae"),  //
	IDC("IDC",12,"0x90a98ce5adec9f4bdce497446d21d1bcf0010212"),  //
	LHS("LHS",12,"0x00a93616ea5d2c3fdef314b4607da88920a2fa53"),  //
	TTC("TTC",12,"0x9389434852b94bbad4c8afed5b7bdbc5ff0c2275"),  //
	WDC("WDC",12,"0x8912358d977e123b51ecad1ffa0cc4a7e32ff774"),  //
	
	// ERC20("ERC20",36,null),  //  公用配置
	
	
	BTC("BTC",2,null);
	
	/**
	 * 确认状态 , 表示 确认次数 合格了
	 */
	public static String TRANS_STATUS_FLAG = "1";
	
	
	public static String TRANS_STATUS_SUCCESS = "success";
	public static String TRANS_STATUS_FAIL = "fail";
	
	private String protocol ;
	/**
	 * 交易成功的确认次数
	 */
	private int comfirmNum ;
	/**
	 * ERC20对应的合约地址
	 */
	private String contractAddr ;
	
	private CoinTypeProtocol(String protocol,int comfirmNum,String contractAddr){
		this.protocol = protocol ;
		this.comfirmNum = comfirmNum ;
		this.contractAddr = contractAddr ;
	}
	
	public String getProtocol() {
		return protocol;
	}

	public void setProtocol(String protocol) {
		this.protocol = protocol;
	}

	public int getComfirmNum() {
		return comfirmNum;
	}

	public void setComfirmNum(int comfirmNum) {
		this.comfirmNum = comfirmNum;
	}
	

	public String getContractAddr() {
		return contractAddr;
	}

	public void setContractAddr(String contractAddr) {
		this.contractAddr = contractAddr;
	}

	public static void main(String[] args) {
		System.out.println(CoinTypeProtocol.BTC.getProtocol());
		System.out.println(CoinTypeProtocol.BTC.name());
		System.out.println(CoinTypeProtocol.BTC.getComfirmNum());
		System.out.println(CoinTypeProtocol.HT.getContractAddr());
		CoinTypeProtocol protocol = CoinTypeProtocol.valueOf("CVT1");
		System.out.println(protocol.getContractAddr());
		System.out.println(CoinTypeProtocol.valueOf("HT"));
	}
	
}
